package com.itheima.d8_generics_method;

import java.util.ArrayList;

/*
    1 泛型方法
        修饰符 <类型变量，类型变量，…>  返回值类型 方法名(形参列表) { }
    2 通配符
        就是 “?” ，可以在“使用泛型”的时候代表一切类型；  E T K V 是在定义泛型的时候使用。
    3 泛型的上下限(受限泛型)
        泛型上限:   ? extends Car :   ?  能接收的必须是Car或者其子类 。
        泛型下限：  ?  super Car :   ?  能接收的必须是Car或者其父类。
 */
public class Test {
    public static void main(String[] args) {
        ArrayList<Car> cars = new ArrayList<>();
        ArrayList<Baoma> baomas = new ArrayList<>();
        ArrayList<Ad> baomas1 = new ArrayList<>();
        test2(baomas);
    }

    public static <T> void test(ArrayList<T> cars) {
    }

    public static void test2(ArrayList<? extends Baoma> cars ) {
    }
}

class Car {
}

class Baoma {
}

class Ad extends Baoma {
}